package com.czp.audit.service;

import com.czp.audit.model.AuditType;

/**
 * 【环 境】：J2SE 1.7
 * @author   柴志鹏	CHAIZP@GMAIL.COM
 * @version  version 1.0
 * @since    2014-11-13
 */
public interface IAuditService {
	/** 
	 * 【描 述】：根据条件查询审核类型信息
	 * @param AuditType(审核类型)
	 * @return 审核类型Json
	 */
	String queryAuditTypeList(AuditType at) throws Exception;
	
	/** 
	 * 【描 述】：根据审核类型Id查询审核流程信息
	 * @param typeId审核类型Id
	 * @param start
	 * @param limit
	 * @return 审核流程Json
	 * @throws Exception
	 */
	String queryAuditProcessByTypeId(String typeId, int start, int limit) throws Exception;

	/** 
	 * 【描 述】：重新排序审核流程
	 * @param [{id},{id},{id}]
	 * @return
	 * @throws Exception
	 */
	int sortProcess(String json) throws Exception;

	/** 
	 * 【描 述】：审核类型增删改控制器
	 * @param AuditType
	 * @return
	 * @throws Exception
	 */
	int auditTypeController(AuditType at) throws Exception;

	/** 
	 * 【描 述】：获取可选审核顺序
	 * @param typeId审核类型Id
	 * @return 顺序Json
	 * @throws Exception
	 */
	String getOptionallyProcess(String typeId) throws Exception;

	/** 
	 * 【描 述】：获取已选审核顺序
	 * @param typeId审核类型Id
	 * @return 顺序Json
	 * @throws Exception
	 */
	String getSelectedProcess(String typeId) throws Exception;

	/** 
	 * 【描 述】："审核流程"增删改控制器
	 * @param typeId审核类型Id
	 * @param 已选数据Json
	 * @return
	 */
	int auditProcessController(String typeId, String data) throws Exception;

	String testProcess(String id);
	
}
